package com.lancoo.ccas53.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @Author: liufeng
 * @CreateTime: 2024-07-16  17:16
 * @Description:
 */

@Data
@TableName("view_schedule")
@ApiModel("课表视图")
public class ViewSchedule implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 课表
     */

    @ApiModelProperty("id")
    private Long id;
    /**
     * 任务id
     */
    @ApiModelProperty("任务id")
    private Integer taskId;

    private String collegeId;
    /**
     * 课表所属类型 0:环节  1讲授 2实验 3上机 4其他
     */
    @ApiModelProperty("授课类型")
    private Integer hourType;
    /**
     * timeCode为null时，代表调课模式下处于暂放区
     */
    @ApiModelProperty("课时编码")
    private String timeCode;
    @ApiModelProperty("课时分组")
    private String timeGroup;
    /**
     *
     */
    @ApiModelProperty("周次")
    private String week;
    /**
     * 连上节次
     */
    @ApiModelProperty("连上节次")
    private Integer connectSection;
    /**
     * 教学班id
     */
    @ApiModelProperty("教学班id")
    private Long teachingClassId;
    /**
     * 教学班名称
     */
    @ApiModelProperty("教学班名称")
    private String teachingClassName;
    /**
     * 课程id
     */
    @ApiModelProperty("课程id")
    private Long courseId;
    /**
     * 课程名称
     */
    @ApiModelProperty("课程名称")
    private String courseName;
    /**
     * 所属校区
     */
    @ApiModelProperty("所属校区")
    private String campusId;
    /**
     * 所属校区名称
     */
    @ApiModelProperty("所属校区名称")
    private String campusName;

    /**
     * 0无需选课 1在线选课
     */
    @ApiModelProperty("是否选课")
    private Integer teachingClassType;
    private Integer classNum;
    private Integer studentNumber;
    /**
     * 修读性质：1主修2辅修
     */
    @ApiModelProperty("修读性质")
    private Integer studyNature;
    /**
     *
     */
    @ApiModelProperty("行政班id")
    private String toClass;
    /**
     * 分班标识 uuid
     */
    @ApiModelProperty("分班标识")
    private String uniqueShiftSign;
    /**
     * 1课程  2环节
     */
    @ApiModelProperty("1课程  2环节")
    private Integer flag;
    /**
     * 1未锁定  2锁定
     */
    @ApiModelProperty("锁定")
    private Integer isLocked;
    private Integer isLockedAll;
    /**
     * 排课状态 1已排（正常）、2已排（未满足规则）、3已排（冲突）、4 待排
     */
    @ApiModelProperty("排课状态")
    private Integer scheduleState;
    /**
     * 教室id
     */
    @ApiModelProperty("教室id")
    private Long roomId;
    /**
     * 教室名称
     */
    @ApiModelProperty("教室名称")
    private String roomName;
    /**
     * 建筑id
     */
    @ApiModelProperty("建筑id")
    private Integer buildingId;
    /**
     * 建筑名称
     */
    @ApiModelProperty("建筑名称")
    private String buildingName;
    /**
     * 教室类型
     */
    @ApiModelProperty("教室类型")
    private Integer roomType;
    @ApiModelProperty("教室类型")
    private String roomTypeName;
    /**
     * 容量（不可为空）
     */
    @ApiModelProperty("容量")
    private Integer roomNum;
    private Integer roomCampusId;
    /**
     * 教师id
     */
    @ApiModelProperty("教师id")
    private String teacherIds;

    private String uniqueGroupSign;
    /**
     * 教师
     */
    @TableField(exist = false)
    @ApiModelProperty("教师")
    private String teacherName;
    /**
     * 教师
     */
    @TableField(exist = false)
    @ApiModelProperty("学生")
    private String studentIds;

}
